package com.ruoyi.system.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.labdata.domain.LabFile;
import com.ruoyi.labdata.domain.LabFlowInstance;

/**
 * 项目创建申请对象 lab_project_creation
 * 
 * @author ruoyi
 * @date 2022-02-13
 */
public class ProjectCreation extends LabFlowInstance {

    private static final long serialVersionUID = 1L;

    /**
     * 项目创建业务类型.
     */
    private static final String businessTypeOpt = "projectCreationApplication";

    public ProjectCreation(){
        super.setBusinessTypeOpt(businessTypeOpt);
    }

    /** 创建人员 */
    @Excel(name = "创建人员")
    private Long createUserId;

    /** 流程名称 */
    @Excel(name = "流程名称")
    private String flowName;

    /** 项目类型 */
    @Excel(name = "项目类型")
    private Long labProjectOpt;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 所在部门 */
    @Excel(name = "所在部门")
    private Long departmentOrgId;
    
    private String departmentOrgName;
    

    public String getDepartmentOrgName() {
		return departmentOrgName;
	}

	public void setDepartmentOrgName(String departmentOrgName) {
		this.departmentOrgName = departmentOrgName;
	}

	/** 预算经费 */
    @Excel(name = "预算经费")
    private String budgetFunds;

    /** 项目负责 */
    @Excel(name = "项目负责")
    private String projectOwnerId;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String contactPhone;

    /** 备注说明 */
    @Excel(name = "备注说明")
    private String comments;

    /** 项目开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date projectStart;

    /** 项目开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date projectEnd;

    /** 职称 */
    @Excel(name = "职称")
    private String ownerTitle;
    
    private String createNickName;
    

	public String getCreateNickName() {
		return createNickName;
	}

	public void setCreateNickName(String createNickName) {
		this.createNickName = createNickName;
	}

	/** 邮箱 */
    @Excel(name = "邮箱")
    private String ownerEmail;

    /** 流程创建 */
    @Excel(name = "流程创建")
    private String flowCreation;

    private String department;

    // 流程审批状态
    private String status;

    private List<LabFile> images;

    // 实验仪器
    private LabProjectInstrument labProjectInstrument;

    // 工作研究
    private LabProjectWorkResearch labProjectWorkResearch;

    // 建设项目
    private LabProjectConstruction labProjectConstruction;

   // 教学培育
    private LabProjectTeachingCultivation labProjectTeachingCultivation;

    // 开发项目
    private LabProjectDevelopmentProject labProjectDevelopmentProject;

    public LabProjectDevelopmentProject getLabProjectDevelopmentProject() {
        return labProjectDevelopmentProject;
    }

    public void setLabProjectDevelopmentProject(LabProjectDevelopmentProject labProjectDevelopmentProject) {
        this.labProjectDevelopmentProject = labProjectDevelopmentProject;
    }

    public LabProjectTeachingCultivation getLabProjectTeachingCultivation() {
        return labProjectTeachingCultivation;
    }

    public void setLabProjectTeachingCultivation(LabProjectTeachingCultivation labProjectTeachingCultivation) {
        this.labProjectTeachingCultivation = labProjectTeachingCultivation;
    }

    public LabProjectConstruction getLabProjectConstruction() {
        return labProjectConstruction;
    }

    public void setLabProjectConstruction(LabProjectConstruction labProjectConstruction) {
        this.labProjectConstruction = labProjectConstruction;
    }

    public LabProjectInstrument getLabProjectInstrument() {
        return labProjectInstrument;
    }

    public void setLabProjectInstrument(LabProjectInstrument labProjectInstrument) {
        this.labProjectInstrument = labProjectInstrument;
    }

    public LabProjectWorkResearch getLabProjectWorkResearch() {
        return labProjectWorkResearch;
    }

    public void setLabProjectWorkResearch(LabProjectWorkResearch labProjectWorkResearch) {
        this.labProjectWorkResearch = labProjectWorkResearch;
    }

    public List<LabFile> getImages() {
        return images;
    }

    public void setImages(List<LabFile> images) {
        this.images = images;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    private String employeeId;

    public String getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(String employeeId) {
        this.employeeId = employeeId;
    }

    public String getFlowCreation() {
        return flowCreation;
    }

    public void setFlowCreation(String flowCreation) {
        this.flowCreation = flowCreation;
    }


    public void setCreateUserId(Long createUserId) 
    {
        this.createUserId = createUserId;
    }

    public Long getCreateUserId() 
    {
        return createUserId;
    }
    public void setFlowName(String flowName) 
    {
        this.flowName = flowName;
    }

    public String getFlowName() 
    {
        return flowName;
    }
    public void setLabProjectOpt(Long labProjectOpt) 
    {
        this.labProjectOpt = labProjectOpt;
    }

    public Long getLabProjectOpt() 
    {
        return labProjectOpt;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setDepartmentOrgId(Long departmentOrgId) 
    {
        this.departmentOrgId = departmentOrgId;
    }

    public Long getDepartmentOrgId() 
    {
        return departmentOrgId;
    }
    public void setBudgetFunds(String budgetFunds) 
    {
        this.budgetFunds = budgetFunds;
    }

    public String getBudgetFunds() 
    {
        return budgetFunds;
    }
    public void setProjectOwnerId(String projectOwnerId)
    {
        this.projectOwnerId = projectOwnerId;
    }

    public String getProjectOwnerId()
    {
        return projectOwnerId;
    }
    public void setContactPhone(String contactPhone) 
    {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone() 
    {
        return contactPhone;
    }
    public void setComments(String comments) 
    {
        this.comments = comments;
    }

    public String getComments() 
    {
        return comments;
    }
    public void setProjectStart(Date projectStart) 
    {
        this.projectStart = projectStart;
    }

    public Date getProjectStart() 
    {
        return projectStart;
    }
    public void setProjectEnd(Date projectEnd) 
    {
        this.projectEnd = projectEnd;
    }

    public Date getProjectEnd() 
    {
        return projectEnd;
    }
    public void setOwnerTitle(String ownerTitle) 
    {
        this.ownerTitle = ownerTitle;
    }

    public String getOwnerTitle() 
    {
        return ownerTitle;
    }
    public void setOwnerEmail(String ownerEmail) 
    {
        this.ownerEmail = ownerEmail;
    }

    public String getOwnerEmail() 
    {
        return ownerEmail;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return "ProjectCreation{" +
                ", createUserId=" + createUserId +
                ", flowName='" + flowName + '\'' +
                ", labProjectOpt=" + labProjectOpt +
                ", projectName='" + projectName + '\'' +
                ", departmentOrgId=" + departmentOrgId +
                ", budgetFunds='" + budgetFunds + '\'' +
                ", projectOwnerId=" + projectOwnerId +
                ", contactPhone='" + contactPhone + '\'' +
                ", comments='" + comments + '\'' +
                ", projectStart=" + projectStart +
                ", projectEnd=" + projectEnd +
                ", ownerTitle='" + ownerTitle + '\'' +
                ", ownerEmail='" + ownerEmail + '\'' +
                ", flowCreation='" + flowCreation + '\'' +
                '}';
    }
}
